home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / circuits / irsim-9.000 / irsim-9 / calibrate / getres < prev    next >
Text File  |  1990-12-23  |  1KB  |  56 lines

  1. #! /bin/csh
  2.  
  3. set spice = ~cad/bin/spice
  4.  
  5. if( $#argv != 2 ) then
  6.     echo "usage: getres model_file dev_file"
  7.     exit 1
  8. endif
  9.  
  10. if( ! -f $1 ) then
  11.     echo "can't open spice model file '"$1"'"
  12.     exit 1
  13. endif
  14.  
  15. if( -f $argv[2] ) then
  16.     source $argv[2]
  17. else
  18.     echo "can't open device configuratin file '"$argv[2]"'"
  19.     exit 1
  20. endif
  21.  
  22. set nmos = `grep -i "\.MODEL" $1 | grep -i NMOS`
  23. set pmos = `grep -i "\.MODEL" $1 | grep -i PMOS`
  24.  
  25. if( $#nmos == 0 ) then
  26.     echo "can't find nmos .MODEL card in '"$1"'"
  27.     exit 1
  28. endif
  29. if( $#pmos == 0 ) then
  30.     echo "can't find pmos .MODEL card in '"$1"'"
  31.     exit 1
  32. endif
  33.  
  34. cat $1 ckt.spi > tmp.spi
  35.  
  36. ed - <<end tmp.spi >& /dev/null
  37. g/N_FET/s/N_FET/$nmos[2]/g
  38. g/P_FET/s/P_FET/$pmos[2]/g
  39. g/C_LOAD/s/C_LOAD/$cap/g
  40. g/N_WITH/s/N_WITH/$nwith/g
  41. g/N_LEN/s/N_LEN/$nlen/g
  42. g/P_WITH/s/P_WITH/$pwith/g
  43. g/P_LEN/s/P_LEN/$plen/g
  44. w
  45. q
  46. end
  47.  
  48. $spice -n -b -r spi.out tmp.spi
  49.  
  50. if( $status != 0 ) then
  51.     echo "something went wrong with spice, look at 'tmp.spi'"
  52.     exit 1
  53. endif
  54.  
  55. ./findr -c $cap -n $nwith,$nlen -p $pwith,$plen spi.out |& tee resists
  56.